/*!
   \file

   \brief
      Global values and constants used by all systems and games that use Avion.

   © 2011 Mark W. Gabby II

   This file is part of the Avion engine.

   The Avion engine is free software: you can redistribute it and/or modify it under the terms of
   the GNU General Public License as published by the Free Software Foundation, either version 3 of
   the License, or (at your option) any later version.

   The Avion engine is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
   without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
   the GNU General Public License for more details.

   You should have received a copy of the GNU General Public License along with the Avion Engine.
   If not, see <http://www.gnu.org/licenses/>.
*/

#pragma once
#include "Util/typedefs.hpp"

#define STATIC_ARRAY_SIZE(array) ( sizeof( array ) / sizeof( array[0] ) )

static const uint32_t kNull32 = 0xFFFFFFFF;
static const uint32_t kNull16 = 0xFFFF;
static const uint32_t kNull8 = 0xFF;

enum eDimensionIndices
{
   kWidth = 0,
   kHeight
};

enum eDirections
{
   kUp = 0,
   kDown,
   kLeft,
   kRight
};

enum ePolarCoordIncides
{
   kRho = 0,
   kTheta
};

enum eSigns
{
   kPositive = 0,
   kNegative
};

enum eAxes
{
   kX = 0,
   kY,
   kZ,
   kW
};

enum eColorIndices
{
   kR = 0,
   kG,
   kB,
   kA
};
